Cơ chế kiểm tra ẩn danh 28 

Một phần của tài liệu LUẬN VĂN: CHỐNG TẤN CÔNG CHE KHUẤT TRONG CÁC MẠNG NGANG HÀNG doc (Trang 35 - 54)

Để kĩ thuật ở được trình bày ở trên hoạt động, chúng ta cần sử dụng một đường kết nối ẩn danh (Anonymous channel) giữa node tiến hành kiểm tra và node đang bị kiểm tra. Với việc kiểm tra ẩn danh ta có thể phát hiện các node gây hại, từ đó loại bỏ chúng ra khỏi tập hàng xóm của node chuẩn.

Sự thăm dò đó là kiểm tra ẩn danh thông qua một node trung gian ngẫu nhiên trong mạng xếp chồng. Nếu node trung gian đó là một node chuẩn thì nó sẽ chuyển tiếp yêu cầu tới node đích mà không để lộ danh tính của node yêu cầu. Nếu node trung gian là node gây hại, nó có thể làm lộ danh tính của node yêu cầu cho node bị kiểm tra (nếu node bị kiểm tra là node gây hại) hoặc nó có thể vứt bỏ thông điệp kiểm tra (nếu như node được kiểm tra là node chuẩn). Hơn nữa, một node gây hại có thể quyết định loại bỏ yêu cầu kiểm tra khi node trung gian là node chuẩn.

Khóa luận tốt nghiệp 29 Mai Hữu Tiến

Tuy nhiên, khi node gây hại lựa chọn trả lời yêu cầu kiểm tra tới nó thông qua node trung gian chuẩn, nó có thể lời bằng một tập con ngẫu nhiên với kích thước cho phép với các node lấy từ tập con trỏ ngược của nó. Để đạt được hiệu quả cao, chúng ta cần thực hiện kiểm tra mỗi node nhiều lần, với các node trung gian ngẫu nhiên khác nhau để có thể thu thập đủ dữ liệu từ đó đưa ra quyết định node bị kiểm tra là node gây hại hay node chuẩn.

Cơ chế kiểm tra

Đối với mỗi node hàng xóm, chúng ta tiến hành n cuộc kiểm tra trước khi đánh giá, mỗi yêu cầu kiểm tra đòi hỏi node hàng xóm trả về một tập con trỏ ngược của chính nó. Trong lúc kiểm tra, một node ngẫu nhiên được chọn trong mạng xếp chồng chuyển tiếp thông điệp kiểm tra tới node hàng xóm bị kiểm tra. Nếu như tập con trỏ ngược trả về có chứa node yêu cầu kiểm tra thì đó là một cuộc kiểm tra thành công. Nếu tập con trỏ ngược trả về không chứa node thực hiện kiểm tra, thì đó là một cuộc kiểm tra thất bại. Nếu một phản hồi nhận được không nằm trong khoảng giới hạn thời gian cho phép thì nó sẽ được xem xét nên loại bỏ hay không. Sau n lần kiểm tra đã hoàn thành hoặc có một lỗi xảy ra, các bước thực hiện kế tiếp là:

Bước 1: Nếu lỗi xảy ra trong tất cả các cuộc kiểm tra thì node đích là một node gây hại. Nếu không ta chuyển sang bước 2.

Bước 2: Ta tính tỉ lệ thành công trong n cuộc kiểm tra đã thực hiện. Nếu tỉ lệ đó nhỏ hơn (1-k/n), thì node được kiểm tra bị coi như là node gây hại. Giá trị của k là số thất bại chúng ta cho phép xảy ra trong n lần kiểm tra.

Phân tích

Trước tiên chúng ta cần định nghĩa các thuật ngữ được nói đến trong quá trình phân tích. Khi một node gây hại nhận một thông điệp kiểm tra thông qua một node chuẩn, nó quyết định trả lời hay không với một xác suất c và tập trả về chứa node thực hiện kiểm tra có xác suất p.

Khóa luận tốt nghiệp 30 Mai Hữu Tiến

Xét node A chứa B trong tập hàng xóm, B là node gây hại và A là node chuẩn. Giả sử rằng A gửi thông điệp kiểm tra thông qua I, I là một node trung gian ngẫu nhiên. Xác suất I là node gây hại là f. Kích thước tập con trỏ ngược của B là |M|, với |M|>X, trong đó X là giới hạn cho phép của tập con trỏ ngược. Với mỗi lần kiểm tra, xác xuất để A có trong tập kết quả trả về là f+(1-f )pc, đồng nghĩa với việc B sẽ qua được cuộc kiểm tra dù I là node gây hại hay không và B trả lời cuộc kiểm tra bằng một tập node chứa A với xác suất p.

Đối với node chuẩn, giá trị kì vọng của số phản hồi thành công là n(1-f ) trong số n cuộc kiểm tra, ta chỉ tính các cuộc kiểm tra đi qua node trung gian là node chuẩn. Tuy nhiên, việc một node chuẩn bị tình nghi là node gây hại có thể xảy ra (xác thực lỗi). Xác thực lỗi có thể xảy ra khi tỉ lệ node trung gian được chọn là node gây hại lớn hơn f và chúng loại bỏ các thông điệp kiểm tra, đó là nguyên nhân làm cho node chuẩn bị coi là node gây hại. Do đó, trong quá trình kiểm tra chúng ta cần đánh dấu node gây hại ngay khi số phản hồi thành công mà ta nhận được nhỏ hơn n-k. k là một giá trị cụ thể quy định số xác thực lỗi mà ta cho phép.

Chúng ta cần xác định giá trị thích hợp của k. Xác suất k node trong n node trung gian là node gây hại được tính bởi công thức n

k

C f k(1-f )n-k, giả sử rằng mỗi node trung gian là node gây hại với xác suất f. Cũng cần chú ý rằng n-k cần phải lớn hơn nf, nếu không một node gây hại chỉ có thể phản hồi khi thông điệp kiểm tra tới thông qua một node gây hại khác và sẽ không bao giờ phản hồi khi thông điệp kiểm tra đến từ một node chuẩn. Chúng ta gán cho k một giá trị sao cho xác suất ở trên là rất nhỏ và cũng thỏa mãn yêu cầu n - k > nf.

Bây giờ chúng ta tìm giá trị của p và c để một node gây hại có thể có để tránh né khỏi cuộc kiểm tra. Để tránh bị phát hiện, node gây hại cần phải đưa ra được trả lời chính xác ít nhất là n-k lần, do đó: k n } c f)p (1 {f n) (1, i i i ≥ − − + ∑ ∈

Khóa luận tốt nghiệp 31 Mai Hữu Tiến

Sau khi giản ước các số hạng ta có:

f) (1 k n c p n) (1, i i i ≥ − − ∑ ∈

Cả pi và ci đều nhỏ hơn 1, nên ta có thể viết:

i n) (1, i i n) (1, i i c p p ∑ ∑ ∈ ∈ ≥ Do đó chúng ta có: f) (1 k n p n) (1, i ∑ i ≥ − − ∈ Chia cả 2 vế cho n ta có: f) n(1 k 1 n p n) (1, i i − − ≥ ∑ ∈

Vế bên trái là giá trị trung bình của p trong n lần kiểm tra, kí hiệu là pavg. Ta cũng kí hiệu cavg là giá trị trung bình cả c trong n lần kiểm tra. Theo đó, nhờ việc duy trì xác suất trung bình là f) n(1 k 1 −

− trong n lần kiểm tra đối với cả hai giá trị c và p, một node gây hại có thể tránh bị phát hiện trong bước 2 của quá trình kiểm tra. Giá trị của p và c nhỏ hơn giá trị trên, thì chúng sẽ bị phát hiện là node gây hại trong bước 2.

Bây giờ cần tính giá trị lớn nhất của kích thước tập con trỏ ngược mà một node gây hại có thể có mà không bị phát hiện trong bước 2 của quá trình kiểm tra. Một node gây hại phản hồi lại với một tập ngẫu nhiên có kích thước X là tập con của tập con trỏ ngược

Khóa luận tốt nghiệp 32 Mai Hữu Tiến Do đó, ta có: pavg = | |M X , kết hợp với: pavg= f) n(1 k 1 − − Ta có: | |M X ≥ f) n(1 k 1 − −

Điều này có nghĩa là một node gây hại có thể duy trì một tập con trỏ ngược có kích thước: |M| ) ) 1 ( 1 ( f n k X − − ≤

Giá trị này lớn hơn X, và như vậy node gây hại sẽ không bị phát hiện trong bước 2 của quá trình kiểm tra.

Tuy nhiên, chú ý rằng xác suất của thông điệp phản hồi mà tập con trỏ ngược không chứa node thực hiện kiểm tra trong mỗi lần kiểm tra là (1-f)(1-p)c. Nghĩa là, một thông điệp kiểm tra đến từ một node chuẩn và node gây hại lựa chọn phản hồi bằng một tập con trỏ ngược không chứa node kiểm tra. Với xác suất này lớn hơn không, một node gây hại cuối cùng cũng sẽ bị phát hiện trong bước 1 của quá trình kiểm tra.

Khóa luận tốt nghiệp 33 Mai Hữu Tiến

Chương 4. MÔ PHNG VÀ ĐÁNH GIÁ CƠ CH KIM TRA N DANH DA TRÊN PASTRY

4.1. Hình trạng mạng và các file thư viện liên kết động trong mô phỏng 4.1.1. Hình trạng mạng mô phỏng

Để mô phỏng mạng Pastry, mô hình mạng được sử dụng là mô hình mạng giao vận nhánh (Transit-stub). Mô hình mạng giao vận phân nhánh tạo ra đồ thị phân cấp bằng cách sinh ra các kết nối giao vận và các miền nhánh (stub domain). Có thể miêu tả một cách đơn giản và dễ hiểu cách hình thành mạng giao vận nhánh như sau: đầu tiên dựng lên đồ thị kết nối ngẫu nhiên; Mỗi node trong đồ thị tượng trưng cho toàn bộ một miền giao vận (transit domain). Mỗi node trong đồ thị đó sau đó được thay thế bởi một đồ thị kết nối ngẫu nhiên khác, đại diện cho topo xương sống của một miền giao vận. Tiếp đó, từ mỗi node trong từng miền giao vận, chúng ta sinh ra một đồ thị kết nối ngẫu nhiên đại diện cho miền nhánh gắn vào node đó. Cuối cùng chúng ta thêm các cạnh liên kết giữa các node, một đầu cạnh từ miền giao vận và một từ miền nhánh hay từ các miền nhánh riêng biệt với nhau. Hiển nhiên, nếu đồ thị ngẫu nhiên được sinh ra là kết nối hoàn toàn (liên thông hoàn toàn), thì mô hình được xây dựng là đồ thị liên thông.

Khóa luận tốt nghiệp 34 Mai Hữu Tiến

Mô hình mạng dùng trong mô phỏng được tạo ra bởi chương trình sinh mô hình mạng GT-ITM . Các file dữ liệu cho mô hình mạng bao gồm:

• ts5050.sc

• ts5050-distances.out • ts5050-routes.out

Mô hình mạng mô phỏng này có 5050 bộ định tuyến và có thể mô phỏng cho 505.000 node.

4.1.2. Các file thư viện liên kết động trong chương trình

Để có thể thực hiện mô phỏng mạng Pastry, cần sử dụng bộ thư viện các lớp và hàm cho mạng ngang hàng có cấu trúc Pastry do hãng Microsoft xây dựng và phát triển.Bộ thư viện này gồm ba file đó là:

• Simulator.dll

• MessageRouting.dll • Pastry.dll

File thư viện MessageRouting.dll cung cấp các lớp và lớp trừu tượng dùng để xử lý các thông điệp trong mạng Pastry, lớp trừu tượng quan trọng nhất mà file này cung cấp được sử dụng trong mô phỏng là public abstract class Application. Lớp này có hai phương thức đáng quan tâm là:

• public abstract bool

ContinueRouting(MessageRouting.RouteMsg msg)

Phương thức này được thực thi trong quá trình chuyển tiếp thông điệp trong mạng. • protected abstract void

ProcessMessage(MessageRouting.RouteMsg msg)

Khóa luận tốt nghiệp 35 Mai Hữu Tiến

File thư viện động Simulator.dll cung cấp các lớp để tải mô hình mạng mô phỏng với lớp chính được sử dụng là public class Sim.Trong chương trình mô phỏng, ta cần khởi tạo một đối tượng lớp Sim với các tham số truyền vào là ba file mạng mô phỏng sinh bởi chương trình GT-ITM được nêu ở trên.

File Pastry.dll cung cấp các lớp mô tả các đối tượng có trong mạng Pastry bao gồm:

public class LeafSet

public class RouteTable

public class NeighbourhoodSet

public class Node : MessageRouting.Node

public class NodeIdAddressBind :

MessageRouting.NodeIdAddressBind

public class NodeId : MessageRouting.NodeId

4.2. Xây dựng chương trình mô phỏng kiểm tra ẩn danh 4.2.1. Mô tả chương trình 4.2.1. Mô tả chương trình

Chương trình được viết bằng ngôn ngữ C#, với các file thư viện được xây dựng và phát triển bởi hãng Microsoft. Cơ chế kiểm tra ẩn được thực hiện dựa trên chương trình mô phỏng mạng Pastry, mạng Pastry ở đây có không gian định danh với l = 128 bit, tức

có thể đánh định danh cho 2128 node hoặc khóa. Số của định danh là số trong hệ cơ số 16. Cơ chế kiểm tra ẩn danh dựa vào việc giới hạn bậc để phát hiện ra các node gây hại trong hệ thống. Do đó, ta cần ấn định một số node trong mạng làm node gây hại và chọn ra một giới hạn bậc trong phù hợp. Gọi tỉ lệ node gây hại có trong mạng là f, ta sẽ chọn các node làm node gây hại là các node có số bậc trong cao nhất, tức là những node có kích thước tập con trỏ ngược lớn nhất. Gọi số node có trong mạng là N, ta chọn xấp xỉ

f*N node làm node gây hại và một giới hạn bậc b sao cho tất cả các node gây hại được chọn có bậc trong cao hợn giới hạn bậc b và tất cả các node chuẩn có bậc trong nhỏ hơn hoặc bằng giới hạn bậc cho phép đó.

Trong tấn công che khuất, các node gây hại thông đồng với nhau để thực hiện che khuất các node khác trong mạng, do đó một node gây hại biết các node gây hại khác là các node nào. Truy vấn kiểm tra ẩn danh đòi hỏi node bị kiểm tra trả về tập con trỏ ngược

Khóa luận tốt nghiệp 36 Mai Hữu Tiến

của nó. Tập con trỏ ngược này phải chứa node tiến hành kiểm tra và kích thước tập con trỏ ngược phải nhỏ hơn bằng giới bậc cho phép thì mới được coi là kiểm tra thành công. Do node gây hại cần có nhiều node chuẩn chứa nó trong tập hàng xóm để có thể thực hiện âm mưu che khuất, nên các node gây hại có kích thước tập con trỏ ngược rất lớn. Mỗi khi có truy vấn kiểm tra ẩn danh tới, nó sẽ phải quyết định có trả lời hay không. Nếu không trả lời thì sẽ bị tình nghi là node gây hại, nếu trả lời nó phải chọn một tập con ngẫu nhiên từ tập con trỏ ngược của nó để phản hồi về cho node kiểm tra. Tập con trỏ ngược trả lời cho cuộc kiểm tra có thể có hoặc không chứa node tiến hành kiểm tra, và xác suất có node kiểm tra bằng giới hạn bậc của mạng chia cho kích thước tập con trỏ ngược của nó. Chương trình kiểm tra ẩn danh sẽ cho tất cả các node chuẩn thực hiện kiểm tra ẩn danh đối với các node có trong tập hàng xóm của nó. Số lần kiểm tra ẩn danh đối với mỗi node hàng xóm sẽ được thay đổi với các giá trị khác nhau. Đây là cơ chế kiểm tra ẩn danh nên trong quá trình kiểm tra cần một node trung gian để chuyển tiếp thông điệp truy vấn kiểm tra từ node kiểm tra tới node bị kiểm tra nhằm che dấu danh tính node tiến hành và node bị kiểm tra. Node trung gian trong mỗi truy vấn kiểm tra sẽ được chọn ngẫu nhiên từ các node có trong hệ thống và khác với node kiểm tra và bị kiểm tra.

Do node trung gian chọn ngẫu nhiên, nên nó có thể là một node gây hại, nếu node trung gian được chọn là node gây hại nó sẽ thực hiện hành động phá hoại cuộc kiểm tra. Nếu node bị kiểm tra là node chuẩn, nó sẽ loại bỏ yêu cầu kiểm tra và trả lời cho node kiểm tra rằng kiểm tra thất bại. Như vậy node kiểm tra sẽ tình nghi node hàng xóm chuẩn của nó là node gây hại. Nếu node bị kiểm tra là node gây hại, nó sẽ thông đồng với node gây hại đó và gửi cho node kiểm tra một tập con trỏ ngược có chứa node kiểm tra, và node kiểm tra coi đó là một truy vấn kiểm tra ẩn danh thành công.

Thông điệp cài đặt dùng trong kiểm tra ẩn danh được chia làm bốn loại thông điệp: • CHALLENGE_REQ_1: Thông điệp truy vấn gửi từ node kiểm tra tới node trung

gian.

CHALLENGE_REQ_2: Thông điệp truy vấn gửi từ node trung gian tới node bị kiểm tra.

Khóa luận tốt nghiệp 37 Mai Hữu Tiến

Hình 7:Các loại thông điệp trong kiểm tra ẩn danh

CHALLENGE_RES_1: Thông điệp phản hồi từ node bị kiểm tra gửi cho node

Một phần của tài liệu LUẬN VĂN: CHỐNG TẤN CÔNG CHE KHUẤT TRONG CÁC MẠNG NGANG HÀNG doc (Trang 35 - 54)

Tải bản đầy đủ (PDF)

(54 trang)